import threading
import time

"""
模拟一个真实的异步操作，就是用户在等待的时候能够做别的事情
"""

event = threading.Event()


def produces():
    print('厨子：等人买包子')
    event.wait()
    event.clear()
    print('有人买包子，开始制作包子')
    time.sleep(2)
    print('包子制作好了')
    event.set()


def consumer():
    print('客户：老板，买包子')
    event.set()
    time.sleep(1)
    while not event.isSet():
        print('客户：包子还么好，先等1秒')
        time.sleep(1)
    print('客户：吃包子')


p = threading.Thread(target=produces)
t = threading.Thread(target=consumer)

p.start()
t.start()
